Tropical Storm Nate, which has killed at least 22 people in Central America, is taking aim at Caribbean resorts on Mexico's Yucatan peninsula on its way to the US Gulf Coast.
It could strike the United States as a hurricane this weekend.
Nate was blowing maximum sustained winds of 72km/h and was about 370km southeast of the Mexican holiday resort island of Cozumel early on Friday morning, according to the United States National Hurricane Center in Miami.
The storm is expected to reach the eastern edge of the Yucatan peninsula, home to popular vacation destinations such as Cancun and Playa del Carmen, on Friday evening, the NHC said.
Nate will likely strengthen to a hurricane by the time it hits the northern Gulf of Mexico, it added. Oil and natural gas producers began evacuating staff at US Gulf of Mexico platforms on Thursday.
The storm doused Central America with heavy rains on Thursday, killing at least 11 people in Nicaragua, eight in Costa Rica, two in Honduras and one in El Salvador, local authorities said.
Thousands were forced to evacuate their homes and Costa Rica's government declared a state of emergency, closing schools and all other non-essential services.
Nate is predicted to become a Category 1 hurricane, the weakest category on a five-level scale used by meteorologists, by the time it hits the US Gulf Coast on Sunday.
US officials from Florida to Texas told residents on Thursday to prepare for the storm.
A state of emergency was declared for 29 Florida counties and the city of New Orleans, devastated by Hurricane Katrina in 2005.
The NHC has issued a hurricane watch from Morgan City, Louisiana, to the Mississippi-Alabama border, including New Orleans, Lake Pontchartrain, and Lake Maurepas.
Nate is expected to produce 15 to 25cm of rain in parts of Honduras and Nicaragua, 5 to 10cm of rain in eastern Yucatan and western Cuba, and 8 to 15cm of rain in the US central Gulf Coast.
On Friday morning, the storm was moving northwest at 23km/h.